//package com.dxl.common.utils;
//
//import java.io.UnsupportedEncodingException;
//import java.security.MessageDigest;
//import java.security.NoSuchAlgorithmException;
//
//import org.apache.log4j.Logger;
//
///**
// * 加密工具类
// * @author 邓小林
// */
//public final class EncryptUtils {
//	private static final Logger LOG = Logger.getLogger(EncryptUtils.class);
//	
//	/**
//	 * MD5加密
//	 * @param s      字符串
//	 * @return
//	 * @throws Exception
//	 */
//	public static String md5(String s) {
//		if (Utils.isBlank(s)) {
//			return s;
//		}
//		try {
//	        return md5(s, "UTF-8");
//		} catch (Exception e) {
//			LOG.error(e.getMessage(), e);
//			return s;
//		}
//	}
//	
//	/**
//	 * Used building output as Hex
//	 */
//	private static final char[] DIGITS = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
//	private static String md5(String text, String charset) {
//		String defaultChar = "UTF-8";
////		if(!StringUtil.isNullOrBlank(charset)){
////			defaultChar = charset;
////		}
//		MessageDigest msgDigest = null;
//		try {
//			msgDigest = MessageDigest.getInstance("MD5");
//		} catch (NoSuchAlgorithmException e) {
//			throw new IllegalStateException("System doesn't support MD5 algorithm.");
//		}
//		try {
//			msgDigest.update(text.getBytes(defaultChar));
//		} catch (UnsupportedEncodingException e) {
//
//			throw new IllegalStateException("System doesn't support your  EncodingException.");
//		}
//		byte[] bytes = msgDigest.digest();
//		String md5Str = new String(encodeHex(bytes));
//		return md5Str;
//	}
//
//	public static char[] encodeHex(byte[] data) {
//		int l = data.length;
//		char[] out = new char[l << 1];
//		// two characters form the hex value.
//		for (int i = 0, j = 0; i < l; i++) {
//			out[j++] = DIGITS[(0xF0 & data[i]) >>> 4];
//			out[j++] = DIGITS[0x0F & data[i]];
//		}
//		return out;
//	}
//}
